Java Persistence API
略 : JPA
from Spring 徹底入門 Spring Framework による Java アプリケーション開発
2006 年リリースの Java EE 5 で仕様が定められている Java 標準の O/R マッパー (ORM)
当時は Hibernate が人気だったため、Hibernate の基本思想を受け継いで仕様策定された
バージョン
JPA 1.0 (Java EE 5)
JPA 2.0 (Java EE 6)
JPA 2.1 (Java EE 7)
主な JPA 実装
EclipseLink : JPA の参照実装 (GlassFish で使用されている)
Hibernate ORM : JBoss/WildFly で使用されている
Apache OpenJPA : Apache TomEE で使用されている
DataNucleus : Google AppEngine (App Engine のこと?) で使用されている
JPA における Entity の状態
new 状態 : 永続コンテキストに未登録
管理状態 : 永続コンテキストに登録され、データベースへの同期が有効に
分離状態 : 管理状態だったオブジェクトが永続コンテキストから離れた状態
削除済み状態 : データベースからの削除が予定されている状態
トランザクションが終了すると、全ての管理状態の Entity が分離状態に移行する
Java Persistence Query Language (JPQL) で柔軟なクエリ記述
他に、Criteria Query や Native Query もある
from Spring 解体新書 第 2 版
Java 標準の O/R マッパー